// 自定义懒加载指令插件
import { useIntersectionObserver } from '@vueuse/core'

export const directivesPlugin = {
  install(app) {
    // 自定义指令
    app.directive('img-lazy', (el, binding) => {
      // 这会在 `mounted` 和 `updated` 时都调用
      const { stop } = useIntersectionObserver(
        el,
        ([{ isIntersecting }]) => {
          if (isIntersecting) {
            el.src = binding.value
            stop()
          }
        },
      )
    })
  }
}